﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Csla;
using Csla.Data;
using DemoCSLA.DalLinq;

namespace DemoCSLA.Libreria.SoloLectura
    {
    
    //******************************************
    //Clase generada por un Snippet de Erick Orlando © 2010
    //******************************************


    //Agregue aqui las importaciones necesarias

    [Serializable()]
    public partial class ProductoInfo : ReadOnlyBase<ProductoInfo>
        {

        #region Propiedades públicas

            private static PropertyInfo<string> m_IdProducto = 
                RegisterProperty<string>(c => c.IdProducto);
            public string IdProducto
            {
                get { return GetProperty(m_IdProducto); }
            }

            private static PropertyInfo<int> m_Codigo = 
                RegisterProperty<int>(c => c.Codigo);
            public int Codigo
            {
                get { return GetProperty(m_Codigo); }
            }

            private static PropertyInfo<string> m_Descripcion = 
                RegisterProperty<string>(c => c.Descripcion);
            public string Descripcion
            {
                get { return GetProperty(m_Descripcion); }
            }

            private static PropertyInfo<Decimal> m_PrecioUnitario = 
                RegisterProperty<Decimal>(c => c.PrecioUnitario);
            public Decimal PrecioUnitario
            {
                get { return GetProperty(m_PrecioUnitario); }
            }

        #endregion //Propiedades públicas

        #region Métodos de instanciación

        private ProductoInfo()
            {
            //Constructor Privado
            }

        internal static ProductoInfo GetProductoInfo(Mercaderia dr)
            {
            ProductoInfo obj = new ProductoInfo();
            obj.Fetch(dr);
            return obj;
            }

        private void Fetch(Mercaderia dr)
            {
            LoadProperty( m_IdProducto ,dr.IdProducto);
            LoadProperty( m_Codigo , dr.Codigo);
            LoadProperty( m_Descripcion ,dr.Descripcion );
            LoadProperty( m_PrecioUnitario , dr.PrecioUnitario);
            }

        #endregion
        }

    }
